Navigation typically works by way of optical flow. One sees an object in their field of vision and sees how the object is moved. This has been brought to the mainstream in game controller systems which transmit optical pulses and measure distance to objects based on detection of the optical pulses. One can move their hands to control an on-screen object, or when used in the reverse, one can move the detector to change the view shown to the user depending on his or her position.
While such systems of optical flow work, they have a drift (accumulated error) of up to about 5%, meaning that if your object is moving a distance of 100 meters from start to finish, the determined finishing point might be five meters in error. When using a drone (defined as “an autonomous flying device” or “a device capable of autonomous flight”), such an error is typically very problematic. It may work in a wide open space, but while trying to, for example, examine a particular object at close range or move through an office building or along a complex shape (e.g. windmill), such inaccuracy is intolerable.
What is needed is a way to be able to enable autonomous navigation with less drift and higher accuracy.